<?php
/**
 * 
 * 邀请类
 * @author will
 *
 */
class Invite {
	
	/**
	 * 记录邀请
	 * @param <int> $uin	发起邀请的人
	 * @param <int> $invite_uin		被邀请者
	 */
	static public function add($uin , $invite_uin) {
		if($uin == $invite_uin) return 901;
		
		$Db = loadDB();
		
		$time = time();
		// 写入数据
		$insert_data = array(
			'uin' => $uin,
			'invite_uin' => $invite_uin,
			'time' => $time,
		);
		$success = $Db->doInsert('invite' , $insert_data);
		
		return $success ? 0 : 902;
	}
	
	/**
	 * 获取用户邀请的所有人
	 * @param <int> $uin 发起邀请的人
	 */
	static public function get($uin , $limit_time = false) {
		$Db = loadDB();
		
		$sql = "SELECT * FROM `invite` WHERE `uin` = {$uin}";
		if(!empty($limit_time)) {
			$sql .= " AND `time` >= " . $limit_time;
		}
		$result = $Db->getAll($sql);
		
		return empty($result) ? array() : $result;
	}
	
	/**
	 * 获取谁邀请了 $uin
	 * @param <int> $uin 被邀请者
	 */
	static public function getInviteUser($uin) {
		$Db = loadDB();
		
		$result = $Db->getOne("SELECT * FROM `invite` WHERE `invite_uin` = {$uin}");
		
		return empty($result) ? false : $result;
	}
	
	/**
	 * 获取今天已经通过邀请赚了多少次
	 * @param <int> $uin 发起邀请者
	 */
	static public function getTodayEarns($uin , $limit_time = false) {
		$Db = loadDB();
		
		$sql = "SELECT COUNT(*) AS `count` FROM `invite_earn` WHERE `uin` = {$uin}";
		if(!empty($limit_time)) {
			$sql .= " AND `time` >= " . $limit_time;
		}

		$count = $Db->getOne($sql , 'count');
		$count = intval($count);
		
		return $count;
	}
	
	/**
	 * 记录邀请赚钱
	 * @param <int> $uin	发起邀请的人
	 * @param <int> $invite_uin		被邀请者
	 * @param <int> $earn
	 */
	static public function addEarn($uin , $invite_uin , $earn) {
		$Db = loadDB();
		
		$time = time();
		// 写入数据
		$insert_data = array(
			'uin' => $uin,
			'invite_uin' => $invite_uin,
			'earn' => $earn,
			'time' => $time,
		);
		$success = $Db->doInsert('invite_earn' , $insert_data);
		
		return $success ? 0 : 903;
	}
}

# end of script
